Traffic obstruction detection

ABSTRACT

One or more techniques and/or systems are provided for training and/or utilizing a traffic obstruction identification model for identifying traffic obstructions based upon vehicle location point data. For example, a training dataset, comprising sample vehicle location points (e.g., global positioning system location points of vehicles) and traffic obstruction identification labels (e.g., locations of known traffic obstructions such as stop signs, crosswalks, stop lights, etc.), may be evaluated to extract a set of training features indicative of traffic flow patterns. The set of training features and the traffic obstruction identification labels may be used to train a traffic obstruction identification model to create a trained traffic obstruction identification model. The trained traffic obstruction identification model may be used to determine whether a road segment has a traffic obstruction or not.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-Provisional patentapplication Ser. No. 15/122,750, titled “TRAFFIC OBSTRUCTION DETECTION”and filed on Aug. 31, 2016, which is a national stage entry ofInternational Patent Application No. PCT/US2015/017941, titled “TRAFFICOBSTRUCTION DETECTION” and filed on Feb. 27, 2015, which claims priorityto U.S. Provisional Patent Application No. 61/946,962 titled“DETERMINING HOV/HOT LANE TRAVEL TIMES”, filed on Mar. 3, 2014. U.S.Non-Provisional patent application Ser. No. 15/122,750, InternationalPatent Application No. PCT/US2015/017941, and U.S. Provisional PatentApplication No. 61/946,962 are incorporated herein by reference.

BACKGROUND

Many users utilize various devices to obtain route information. In anexample, a user may utilize a smart phone to obtain walking directionsto a nearby restaurant. In another example, a user may utilize a vehiclenavigation device to obtain a map populated with driving directions toan amusement park. In a driving situation, a driver may want to viewinformation that may affect an arrival time to a destination, such astraffic congestion and/or traffic obstructions (e.g., a stop light, acrosswalk, a stop sign, a railroad crossing, a traffic flow impediment,a permanent obstruction, etc.). Unfortunately, a navigation routeprovider may utilize map data that does not comprise points of interestfor traffic flow such as traffic obstructions (e.g., the map data maynot identify or list traffic obstructions). Identifying traffic flow byevaluating imagery of the map data, such as an aerial photo, may notprovide an indication as to whether the traffic flow is a result ofcongestion or a traffic obstruction such as a stop light.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Among other things, one or more systems and/or techniques for trainingand utilizing a traffic obstruction identification model are providedherein. In an example, a training dataset, comprising sample vehiclelocation points (e.g., individual global positing system (GPS) points,of vehicles traveling along one or more road segments, labeled withvehicle identifiers of corresponding vehicles) and/or trafficobstruction identification labels (e.g., known locations of trafficobstructions such as stop signs, crosswalks, bus stops, etc.), isobtained. A set of training features is extracted from the trainingdataset based upon the sample vehicle location points (e.g., a portionof vehicles traveling below a threshold speed; a median averagedeviation in travel time of a vehicle; a point density of sample vehiclelocation points of a road segment compared to other road segments;etc.). The set of training features are indicative of traffic flowpatterns (e.g., stopping patterns, acceleration patterns, speedpatterns, a length of a queued line of vehicles, etc.). In an example,the sample vehicle location points may be evaluated as individual points(e.g., as opposed to evaluating trace data where points are connectedtogether, which may otherwise increase processing resource overhead),such that aggregated statistics on individual sample vehicle locationpoints may be used to obtain the set of training features. A trafficobstruction identification model (e.g., a statistical distributionmodel, a hand constructed parametric model, a neural network that learnsfrom data, or other automatic learning procedure) may be trained usingthe set of training features to create a trained traffic obstructionidentification model, such as to identify parameters for use by thetrained traffic obstruction identification model for identifying trafficobstructions based upon vehicle location point data.

The trained traffic obstruction identification model may be used toidentify traffic obstructions. For example, a dataset, comprisingvehicle location points (e.g., GPS location points of vehicles), may beobtained. The dataset may correspond to one or more road segments forwhich traffic obstruction classifications are not known (e.g., a lack ofinformation regarding whether a road segment has a crosswalk or not). Aset of features may be extracted from the dataset based upon the vehiclelocation points. The set of features may be indicative of traffic flowpatterns (e.g., whether traffic is moving slowly, stopping patterns ofvehicles, acceleration patterns of vehicles, a density of vehiclescompared to surrounding road segments, a number of vehicles queued in astopped line of vehicles, etc.). The set of features may be evaluatedusing the trained traffic obstruction identification model to determinewhether a road segment has a traffic obstruction, such as whether theroad segment has a stop sign or not. A current traffic flow pattern maybe determined as being a result of congestion or from the trafficobstruction based upon whether the road segment has the trafficobstruction or not (e.g., a slow traffic flow may be a result of thestop sign if the road segment comprises the stop sign, otherwise, theslow traffic flow may be merely a result of congestion if the roadsegment does not comprise the stop sign or other traffic obstructions).

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages, and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram illustrating an exemplary method of training atraffic obstruction identification model.

FIG. 2 is a component block diagram illustrating an exemplary system fortraining a traffic obstruction identification model.

FIG. 3 is a flow diagram illustrating an exemplary method of determiningwhether a road segment has a traffic obstruction.

FIG. 4 is a component block diagram illustrating an exemplary system fordetermining whether a road segment has a traffic obstruction, where theroad segment is determined as having the traffic obstruction.

FIG. 5 is a component block diagram illustrating an exemplary system fordetermining whether a road segment has a traffic obstruction, where theroad segment is determined as not having the traffic obstruction.

FIG. 6 is an illustration of an exemplary computer readable mediumwherein processor-executable instructions configured to embody one ormore of the provisions set forth herein may be comprised.

FIG. 7 illustrates an exemplary computing environment wherein one ormore of the provisions set forth herein may be implemented.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are generally used to refer tolike elements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth to provide anunderstanding of the claimed subject matter. It may be evident, however,that the claimed subject matter may be practiced without these specificdetails. In other instances, structures and devices are illustrated inblock diagram form in order to facilitate describing the claimed subjectmatter.

One or more systems and/or techniques for training and/or utilizing atraffic obstruction identification model are provided herein. Users mayhave a desire to view information that may affect an arrival time to adestination, such as traffic congestion and/or traffic obstructions(e.g., a stop light, a stop sign, a crosswalk, a railroad crossing, atraffic flow impediment, a temporary obstruction (e.g., real-timeidentification of a temporary traffic light set up to control trafficflow of vehicles near roadwork), a permanent obstruction, etc.).Unfortunately, such information may not be available in map data that isused by navigation route providers to provide users with travel routes(e.g., travel routes provided through a smart phone navigationapplication, a vehicle navigation system, etc.). As provided herein,patterns in vehicle location points, such as global positioning system(GPS) data, may be used to train a traffic obstruction identificationmodel to create a trained traffic obstruction identification model foridentifying locations of traffic obstructions. The trained trafficobstruction identification model may be configured to classify roadsegments as having traffic obstructions or not by using features (e.g.,whether traffic is moving slowly, stopping patterns of vehicles,acceleration patterns of vehicles, a density of vehicles compared tosurrounding road segments, a number of vehicles queued in a stopped lineof vehicles, etc.) that are independent of a sampling rate of thevehicle location points (e.g., vehicle location points may be collectedover a week, a year, etc.). Computational costs of the classificationmay be reduced because travel times for individual vehicles do not needto be computed and vehicle location points are treated independently(e.g., as opposed to using additional computational resources to trackvehicles and/or chain together vehicle location points). In this way,traffic obstructions may be identified so that relatively more accuratetravel routes and/or traffic information may be provided to users. Forexample, a navigation route provider may provide a relatively moreaccurate travel route and/or travel time that takes into account atraffic obstruction.

An embodiment of training a traffic obstruction identification model isillustrated by an exemplary method 100 of FIG. 1. At 102, the method 100starts. At 104, a training dataset, comprising sample vehicle locationpoints and traffic obstruction identification labels, may be obtained.The sample vehicle location points may correspond to GPS location pointsobtained from various vehicles traveling along one or more roadsegments. A sample vehicle location point may be associated with avehicle identifier of a vehicle from which the sample vehicle locationpoint originated. The sample vehicle location point may be used toidentify an instantaneous speed of the vehicle. The traffic obstructionidentification labels may associate known traffic obstructions with roadsegments (e.g., a location of a known stop sign, crosswalk, railroadcrossing, etc.), which may be used to train a traffic obstructionidentification model for identifying traffic obstructions.

At 106, a set of training features may be extracted from the trainingdataset based upon the sample vehicle location points. The set oftraining features may be indicative of traffic flow patterns (e.g., afirst set of training features indicative of traffic flow patterns of afirst road segment, a second set of training features indicative oftraffic flow patterns of a second road segment, etc.). In an example ofextracting a training feature, the sample vehicle location points may beevaluated to identify a count of vehicles having speeds below a speedthreshold (e.g., as a vehicle slows down, the vehicle may send vehiclelocation points that are closer together). The count of vehicles may becompared to a total count of vehicles to determine a vehicle speedfeature for inclusion within the set of training features (e.g., anumber of slow moving vehicles within a road segment).

In another example of extracting a training feature, the sample vehiclelocation points are evaluated to determine a median speed of vehicles. Astandard deviation from the median speed is identified to determine amedian average deviation feature for inclusion within the set oftraining features (e.g., a median average deviation in kilometer traveltime of a vehicle). For example, for respective vehicle location points,a deviation of a vehicle location point (e.g., an instantaneous speed ofthe vehicle derived from the vehicle location point) from the medianspeed is identified for inclusion within the median average deviationfeature.

In another example of extracting a training feature, a first count ofvehicle location points within a first road segment is identified. Thefirst count of vehicle location points is compared to counts of vehiclelocation points within one or more neighboring road segments todetermine a relative point density feature for inclusion within the setof training features. The relative point density feature may indicatewhat road segments have more vehicles than other road segments, whichmay be used to identify an end of a queue of vehicles (e.g., an end of aline of vehicles at a stop light) or other traffic flow features. It maybe appreciated that while a few training features are discussed hereinfor illustrative purposes, a variety of training features arecontemplated.

At 108, the traffic obstruction identification model is trained usingthe set of training features and the traffic obstruction identificationlabels to create a trained traffic obstruction identification model foridentifying traffic obstructions based upon vehicle location point data.In an example, if a road segment has a known traffic obstruction (e.g.,the traffic obstruction identification labels may indicate that the roadsegment comprises a railroad crossing), then a training feature of theroad segment may be used to train the traffic obstruction identificationmodel to identify such a traffic obstruction (e.g., a railroad crossing)for road segments having a similar feature as the training feature. Inanother example, if a road segment does not have a known trafficobstruction (e.g., the traffic obstruction identification labels mayindicate that the road segment is free of traffic obstructions), then atraining feature of the road segment may be used to train the trafficobstruction identification model to determine that road segments havinga similar feature as the training feature do not have trafficobstructions. In this way, one or more parameters for use by the trainedtraffic obstruction identification model may be identified based uponthe training dataset and the set of training features. The trainedtraffic obstruction identification model may be used to identify trafficobstructions and/or for planning relatively more accurate routes thattake traffic obstructions into account, as will be further discussed andillustrated in FIGS. 3-5. At 110, the method 100 ends.

FIG. 2 illustrate an example of a system 200 for training a trafficobstruction identification model 216. The system 200 comprises a modeltraining component 214. The model training component 214 may beconfigured to obtain a training dataset 202 comprising sample vehiclelocation points 204 and/or traffic obstruction identification labels208. For example, the training dataset 202 may comprise sample vehiclelocation points 204 for a set of road segments, such as a road segment(A) 206, a road segment (B), and/or other road segments (e.g., 100 meterroad segments, or any other distance, of a city road in a downtownshopping district of a city). The training dataset 202 may comprise asample vehicle location point (1A) of a vehicle (A) traveling the roadsegment (A) 206, a sample vehicle location point (2A) of the vehicle (A)traveling the road segment (A) 206, and/or other sample vehicle locationpoints of the vehicle (A) traveling the road segment (A) 206. Thetraining dataset 202 may comprise a sample vehicle location point (1B)of a vehicle (B) traveling the road segment (A) 206, a sample vehiclelocation point (2B) of the vehicle (B) traveling the road segment (A)206, and/or other sample vehicle location points of the vehicle (B)traveling the road segment (A) 206. The training dataset 202 maycomprise sample vehicle location points of vehicles traveling the roadsegment (B) and/or other road segments. A sample vehicle location pointmay correspond to a GPS location point, of a vehicle, that istransmitted by the vehicle to a data collection service for inclusionwithin the training dataset 202. Sample vehicle location points may betreated individually (e.g., a training feature may be identified basedupon an instantaneous GPS speed derived from a vehicle location point),which may reduce computational costs that may otherwise be incurred fromtracking vehicles, chaining vehicle location points together, and/orcalculating travel times for individual vehicles.

The traffic obstruction identification labels 208 may comprise locationsof known traffic obstructions. For example, the traffic obstructionidentification labels 208 may comprise a stop light traffic obstructionidentification label 210 specifying that road segment (A) 206 has a stoplight traffic obstruction. The traffic obstruction identification labels208 may comprise a railroad crossing traffic obstruction identificationlabel 212 specifying that a road segment (C) has a railroad crossingtraffic obstruction.

The model training component 214 may extract a set of training features218 from the training dataset 202 based upon the sample vehicle locationpoints 204. For example, the set of training features 218 may comprise avehicle speed feature, a median average deviation feature, a relativepoint density feature, and/or a variety of other features that areindicative of traffic flow patterns for the set of road segments. In anexample, the set of training features 218 may be independent of asampling rate of the sample vehicle location points 204. The modeltraining component 214 may train the traffic obstruction identificationmodel 216 using the set of training features 218 and/or the trafficobstruction identification labels 208 to create a trained trafficobstruction identification model 220 for identifying trafficobstructions based upon vehicle location point data. For example,training features of the road segment (A) 206 and/or the stop lighttraffic obstruction identification label 210 may be used to train thetrained traffic obstruction identification model 220 to identify a roadsegment as having a stop light traffic obstruction based upon the roadsegment having similar features as the road segment (A) 206 that has theknown stop light traffic obstruction. Training features of the roadsegment (C) and/or the railroad crossing traffic obstructionidentification label 212 may be used to train the trained trafficobstruction identification model 220 to identify a road segment ashaving a railroad crossing traffic obstruction based upon the roadsegment having similar features as the road segment (C) that has theknown railroad crossing traffic obstruction.

An embodiment of determining whether a road segment has a trafficobstruction is illustrated by an exemplary method 300 of FIG. 3. At 302,the method 300 starts. At 304, a dataset, comprising vehicle locationpoints, may be obtained. In an example, one or more vehicles travelingalong road segments of a neighborhood road may transmit vehicle locationpoints, such as GPS location points, to a data collection service forinclusion within the dataset. For example, a first set of GPS locationpoints may be received from a first vehicle. A second set of GPSlocation points may be received from a second vehicle. The first set ofGPS location points and the second set of GPS location points may beincluded within the dataset. In an example, the first set of GPSlocation points are collected at a first time period (e.g., Mondaymorning while the first vehicle is driving along a road segment of theneighborhood road) and the second set of GPS location points arecollected at a second time period (e.g., Tuesday afternoon while thesecond vehicle is driving along the road segment of the neighborhoodroad).

At 306, a set of features may be extracted from the dataset based uponthe vehicle location points. For example, the set of features maycomprise a vehicle speed feature, a median average deviation feature, arelative point density feature, and/or a variety of other features. Theset of features may be indicative of traffic flow patterns (e.g.,vehicle stopping patterns, vehicle acceleration patterns, an end of aqueued line of vehicles, a distribution and/or density of vehicles alongthe neighborhood road, vehicle speeds, etc.). In an example, the set offeatures may be extracted independently from a sampling rate of thedataset (e.g., the dataset may comprise vehicle location pointscollected over an hour, a week, a year, etc.).

At 308, the set of features may be evaluated using a trained trafficobstruction identification model to determine whether a road segment hasa traffic obstruction or not. In an example, the road segment may beclassified as having or not having the traffic obstruction based uponvalues of features within the set of features and one or more parametersof the trained traffic obstruction identification model (e.g., aparameter may indicate that a value of a feature is indicative of a stopsign traffic obstruction or a lack of a stop sign traffic obstruction).In an example, a current traffic flow pattern may be determined as beinga result of congestion or the traffic obstruction based upon whether theroad segment has the traffic obstruction or not.

In an example, traffic obstructions, such as a temporary trafficobstruction, may be identified in real-time. For example, a set offeatures may be extracted from a dataset of vehicle location points thatare obtained in real-time. The set of features may be evaluated usingthe trained traffic obstruction identification model to identify atraffic obstruction, such as a temporary traffic light. At 310, themethod 300 ends.

FIG. 4 illustrates an example of a system 400 for determining whether aroad segment has a traffic obstruction or not. The system 400 comprisesa traffic obstruction identification component 406. The trafficobstruction identification component 406 may be configured to obtain adataset 404 comprising vehicle location points. The vehicle locationpoints may correspond to GPS location points reported by vehiclestraveling along one or more road segments of a road 402, such as a firstroad segment 412, a second road segment 414, a third road segment 416, afourth road segment 418, and/or other road segments. For example, afirst vehicle 420 may report a first set of GPS location points whiletraveling along the first road segment 412 and/or other road segmentsalong the road 402. A second vehicle 422 may report a second set of GPSlocation points while traveling along the first road segment 412 and/orother road segments along the road 402. A third vehicle 424 may report athird set of GPS location points while traveling along the first roadsegment 412 and/or other road segments along the road 402.

The traffic obstruction identification component 406 may be configuredto extract a set of features 426 from the dataset 404. For example, theset of features 426 may comprise a vehicle speed feature, a medianaverage deviation feature, a relative point density feature, and/or avariety of other features. The set of features 426 may be indicative oftraffic flow patterns derived from the vehicle location points of thefirst vehicle 420, the second vehicle 422, the third vehicle 424, and/orother vehicles traveling along the road 402 (e.g., vehicle stoppingpatterns, vehicle acceleration patterns, an end of a queued line ofvehicles, a distribution and/or density of vehicles along theneighborhood road, vehicle speeds, etc.).

The traffic obstruction identification component 406 may be configuredto evaluate the set of features 426 using a trained traffic obstructionidentification model 408. The trained traffic obstruction identificationmodel 408 may indicate that the set of features 426 may be indicative ofthe first road segment 412 comprising a stop light traffic obstruction413. In this way, the traffic obstruction identification component 406may use the trained traffic obstruction identification model 408 toclassify 410 road segments as having or not having traffic obstructions.In an example, a current traffic flow pattern may be determined as beinga result of the stop light traffic obstruction 413, as opposed tocongestion.

FIG. 5 illustrates an example of a system 500 for determining whether aroad segment has a traffic obstruction or not. The system 500 comprisesa traffic obstruction identification component 506. The trafficobstruction identification component 506 may be configured to obtain adataset 504 comprising vehicle location points. The vehicle locationpoints may correspond to GPS location points reported by vehiclestraveling along one or more road segments of a road 502, such as a firstroad segment 512, a second road segment 514, a third road segment 516, afourth road segment 518, a fifth road segment 520, and/or other roadsegments. For example, a first vehicle 522 may report a first set of GPSlocation points while traveling along the first road segment 512 and/orother road segments along the road 502. A second vehicle 524 may reporta second set of GPS location points while traveling along the first roadsegment 512 and/or other road segments along the road 502. A thirdvehicle 526 may report a third set of GPS location points whiletraveling along the second road segment 514 and/or other road segmentsalong the road 502. A fourth vehicle 528 may report a fourth set of GPSlocation points while traveling along the second road segment 514 and/orother road segments along the road 502. A fifth vehicle 530 may report afifth set of GPS location points while traveling along the second roadsegment 514 and/or other road segments along the road 502. A sixthvehicle 532 may report a sixth set of GPS location points whiletraveling along the second road segment 514 and/or other road segmentsalong the road 502.

The traffic obstruction identification component 506 may be configuredto extract a set of features 534 from the dataset 504. For example, theset of features 534 may comprise a vehicle speed feature, a medianaverage deviation feature, a relative point density feature, and/or avariety of other features. The set of features 534 may be indicative oftraffic flow patterns derived from the vehicle location points of thefirst vehicle 522, the second vehicle 524, the third vehicle 526, thefourth vehicle 528, the fifth vehicle 530, the sixth vehicle 532, and/orother vehicles traveling along the road 502 (e.g., vehicle stoppingpatterns, vehicle acceleration patterns, an end of a queued line ofvehicles, a distribution and/or density of vehicles along theneighborhood road, vehicle speeds, etc.).

The traffic obstruction identification component 506 may be configuredto evaluate the set of features 534 using a trained traffic obstructionidentification model 508. The trained traffic obstruction identificationmodel 508 may indicate that the set of features 534 may be indicative ofthe road 502 not comprising a traffic obstruction. In this way, thetraffic obstruction identification component 506 may use the trainedtraffic obstruction identification model 508 to classify 510 roadsegments as having or not having traffic obstructions. In an example, acurrent traffic flow pattern may be determined as being a result ofcongestion because the road 502 does not comprise traffic obstructionsand the set of features 534 are indicative of a slow traffic flow.

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to implement one or more ofthe techniques presented herein. An example embodiment of acomputer-readable medium or a computer-readable device is illustrated inFIG. 6, wherein the implementation 600 comprises a computer-readablemedium 608, such as a CD-R, DVD-R, flash drive, a platter of a hard diskdrive, etc., on which is encoded computer-readable data 606. Thiscomputer-readable data 606, such as binary data comprising at least oneof a zero or a one, in turn comprises a set of computer instructions 604configured to operate according to one or more of the principles setforth herein. In some embodiments, the set of computer instructions 604are configured to perform a method 602, such as at least some of theexemplary method 100 of FIG. 1 and/or at least some of the exemplarymethod 300 of FIG. 3, for example. In some embodiments, the set ofcomputer instructions 604 are configured to implement a system, such asat least some of the exemplary system 200 of FIG. 2, at least some ofthe exemplary system 400 of FIG. 4, and/or at least some of theexemplary system 500 of FIG. 5, for example. Many such computer-readablemedia are devised by those of ordinary skill in the art that areconfigured to operate in accordance with the techniques presentedherein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing at least some of the claims.

As used in this application, the terms “component,” “module,” “system”,“interface”, and/or the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, manymodifications may be made to this configuration without departing fromthe scope or spirit of the claimed subject matter.

FIG. 7 and the following discussion provide a brief, general descriptionof a suitable computing environment to implement embodiments of one ormore of the provisions set forth herein. The operating environment ofFIG. 7 is only one example of a suitable operating environment and isnot intended to suggest any limitation as to the scope of use orfunctionality of the operating environment. Example computing devicesinclude, but are not limited to, personal computers, server computers,hand-held or laptop devices, mobile devices (such as mobile phones,Personal Digital Assistants (PDAs), media players, and the like),multiprocessor systems, consumer electronics, mini computers, mainframecomputers, distributed computing environments that include any of theabove systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 7 illustrates an example of a system 700 comprising a computingdevice 712 configured to implement one or more embodiments providedherein. In one configuration, computing device 712 includes at least oneprocessing unit 716 and memory 718. Depending on the exact configurationand type of computing device, memory 718 may be volatile (such as RAM,for example), non-volatile (such as ROM, flash memory, etc., forexample) or some combination of the two. This configuration isillustrated in FIG. 7 by dashed line 714.

In other embodiments, device 712 may include additional features and/orfunctionality. For example, device 712 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 7 by storage 720. In oneembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 720. Storage 720 may alsostore other computer readable instructions to implement an operatingsystem, an application program, and the like. Computer readableinstructions may be loaded in memory 718 for execution by processingunit 716, for example.

The term “computer readable media” as used herein includes computerstorage media. Computer storage media includes volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions or other data. Memory 718 and storage 720 are examples ofcomputer storage media. Computer storage media includes, but is notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to storethe desired information and which can be accessed by device 712.Computer storage media does not, however, include propagated signals.Rather, computer storage media excludes propagated signals. Any suchcomputer storage media may be part of device 712.

Device 712 may also include communication connection(s) 726 that allowsdevice 712 to communicate with other devices. Communicationconnection(s) 726 may include, but is not limited to, a modem, a NetworkInterface Card (NIC), an integrated network interface, a radio frequencytransmitter/receiver, an infrared port, a USB connection, or otherinterfaces for connecting computing device 712 to other computingdevices. Communication connection(s) 726 may include a wired connectionor a wireless connection. Communication connection(s) 726 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 712 may include input device(s) 724 such as keyboard, mouse, pen,voice input device, touch input device, infrared cameras, video inputdevices, and/or any other input device. Output device(s) 722 such as oneor more displays, speakers, printers, and/or any other output device mayalso be included in device 712. Input device(s) 724 and output device(s)722 may be connected to device 712 via a wired connection, wirelessconnection, or any combination thereof. In one embodiment, an inputdevice or an output device from another computing device may be used asinput device(s) 724 or output device(s) 722 for computing device 712.

Components of computing device 712 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 712 may be interconnected by a network. For example, memory 718may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 730 accessible via a network728 may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 712 may access computingdevice 730 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 712 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 712 and some atcomputing device 730.

Various operations of embodiments are provided herein. In oneembodiment, one or more of the operations described may constitutecomputer readable instructions stored on one or more computer readablemedia, which if executed by a computing device, will cause the computingdevice to perform the operations described. The order in which some orall of the operations are described should not be construed as to implythat these operations are necessarily order dependent. Alternativeordering will be appreciated by one skilled in the art having thebenefit of this description. Further, it will be understood that not alloperations are necessarily present in each embodiment provided herein.Also, it will be understood that not all operations are necessary insome embodiments.

Further, unless specified otherwise, “first,” “second,” and/or the likeare not intended to imply a temporal aspect, a spatial aspect, anordering, etc. Rather, such terms are merely used as identifiers, names,etc. for features, elements, items, etc. For example, a first object anda second object generally correspond to object A and object B or twodifferent or two identical objects or the same object.

Moreover, “exemplary” is used herein to mean serving as an example,instance, illustration, etc., and not necessarily as advantageous. Asused herein, “or” is intended to mean an inclusive “or” rather than anexclusive “or”. In addition, “a” and “an” as used in this applicationare generally be construed to mean “one or more” unless specifiedotherwise or clear from context to be directed to a singular form. Also,at least one of A and B and/or the like generally means A or B and/orboth A and B. Furthermore, to the extent that “includes”, “having”,“has”, “with”, and/or variants thereof are used in either the detaileddescription or the claims, such terms are intended to be inclusive in amanner similar to the term “comprising”.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure. In addition, while aparticular feature of the disclosure may have been disclosed withrespect to only one of several implementations, such feature may becombined with one or more other features of the other implementations asmay be desired and advantageous for any given or particular application.

What is claimed is:
 1. A method for training a traffic obstructionidentification model, comprising: obtaining a training datasetcomprising sample vehicle location points and traffic obstructionidentification labels, wherein the traffic obstruction identificationlabels correspond to traffic obstructions configured to control a flowof traffic and disposed at fixed locations along road segments;extracting a set of training features from the training dataset basedupon the sample vehicle location points, the set of training featuresindicative of traffic flow patterns, the traffic flow patternsindicative of a flow of traffic along a first set of one or more roadsegments; and training the traffic obstruction identification modelusing the set of training features and the traffic obstructionidentification labels to create a trained traffic obstructionidentification model for classifying uncategorized traffic obstructionsalong a second set of one or more road segments different than the firstset of one or more road segments into one or more categories of trafficobstructions based upon traffic flow patterns of vehicles encounteringthe uncategorized traffic obstructions along the second set of one ormore road segments.
 2. The method of claim 1, the traffic obstructionscomprising at least one of a stop light, a stop sign, a crosswalk, or arailroad crossing.
 3. The method of claim 1, the extracting a set oftraining features comprising: evaluating the sample vehicle locationpoints to identify a count of vehicles having speeds below a speedthreshold; and comparing the count of vehicles to a total count ofvehicles to determine a vehicle speed feature for inclusion within theset of training features.
 4. The method of claim 1, the extracting a setof training features comprising: evaluating the sample vehicle locationpoints to determine a median speed; and identifying a standard deviationfrom the median speed to determine a median average deviation featurefor inclusion within the set of training features.
 5. The method ofclaim 1, the extracting a set of training features comprising:identifying a first count of vehicle location points within a first roadsegment; and comparing the first count of vehicle location points tocounts of vehicle location points within one or more neighboring roadsegments to determine a relative point density feature for inclusionwithin the set of training features.
 6. The method of claim 1, thetraining the traffic obstruction identification model comprising:identifying one or more parameters for use by the trained trafficobstruction identification model based upon the training dataset and theset of training features.
 7. The method of claim 1, the extracting a setof training features comprising: extracting a first set of trainingfeatures for a first road segment of the first set of one or more roadsegments and associated with a first traffic obstruction of the trafficobstructions; and extracting a second set of training features for asecond road segment of the first set of one or more road segments andassociated with a second traffic obstruction of the trafficobstructions, the second traffic obstruction different than the firsttraffic obstruction.
 8. The method of claim 1, wherein the traffic flowpatterns indicated by the set of training features comprise a stoppingpattern along at least one road segment of the first set of one or moreroad segments.
 9. The method of claim 1, wherein the traffic flowpatterns indicated by the set of training features comprise anacceleration pattern along at least one road segment of the first set ofone or more road segments.
 10. The method of claim 1, wherein thetraffic flow patterns indicated by the set of training features comprisea speed pattern along at least one road segment of the first set of oneor more road segments.
 11. The method of claim 1, wherein the trafficflow patterns indicated by the set of training features comprise alength of a queued line of vehicles along at least one road segment ofthe first set of one or more road segments.
 12. The method of claim 1,wherein the traffic flow patterns indicated by the set of trainingfeatures comprise at least one of: a stopping pattern along at least oneroad segment of the first set of one or more road segments, anacceleration pattern along the at least one road segment of the firstset of one or more road segments, a speed pattern along the at least oneroad segment of the first set of one or more road segments, or a lengthof a queued line of vehicles along the at least one road segment of thefirst set of one or more road segments.
 13. The method of claim 1, thetraining the traffic obstruction identification model comprising:training the traffic obstruction identification model using the set oftraining features and the traffic obstruction identification labels tocreate the trained traffic obstruction identification model to identifya first traffic obstruction as being present on a first road segment ofthe second set of one or more road segments when a traffic flow patternof the first road segment matches a traffic flow pattern of a secondroad segment of the first set of one or more road segments having thefirst traffic obstruction; and training the traffic obstructionidentification model using the set of training features and the trafficobstruction identification labels to create the trained trafficobstruction identification model to identify a second trafficobstruction as being present on the first road segment of the second setof one or more road segments when the traffic flow pattern of the firstroad segment matches a traffic flow pattern of a third road segment ofthe first set of one or more road segments having the second trafficobstruction.
 14. A computer readable medium comprising instructionswhich when executed perform a method for determining a category oftraffic obstruction present on a first road segment, comprising:obtaining a dataset comprising vehicle location points; extracting a setof features from the dataset based upon the vehicle location points, theset of features indicative of traffic flow patterns of road segments;and evaluating the set of features using a trained traffic obstructionidentification model created from traffic obstruction identificationlabels corresponding to traffic obstructions configured to control aflow of traffic and disposed at fixed locations along the road segmentsto determine whether the first road segment, that is not part of theroad segments, has a first category of traffic obstruction or a secondcategory of traffic obstruction, wherein the evaluating comprises, forthe first road segment: comparing a traffic flow pattern of the firstroad segment to the traffic flow patterns of the road segments;classifying the first road segment has having the first category oftraffic obstruction when the traffic flow pattern of the first roadsegment matches the traffic flow pattern of a second road segment of theroad segments having the first category of traffic obstruction; andclassifying the first road segment has having the second category oftraffic obstruction when the traffic flow pattern of the first roadsegment matches the traffic flow pattern of a third road segment of theroad segments having the second category of traffic obstruction.
 15. Thecomputer readable medium of claim 14, wherein the extracting a set offeatures comprises: evaluating the vehicle location points to identify acount of vehicles having speeds below a speed threshold; and comparingthe count of vehicles to a total count of vehicles to determine avehicle speed feature for inclusion within the set of features.
 16. Thecomputer readable medium of claim 14, wherein the extracting a set offeatures comprises: evaluating the vehicle location points to determinea median speed; and identifying a standard deviation from the medianspeed to determine a median average deviation feature for inclusionwithin the set of features.
 17. The computer readable medium of claim14, wherein the extracting a set of features comprises: identifying afirst count of vehicle location points within a fourth road segment ofthe road segments; and comparing the first count of vehicle locationpoints to counts of vehicle location points within one or moreneighboring road segments to determine a relative point density featurefor inclusion within the set of features.
 18. A system for training atraffic obstruction identification model, comprising: a model trainingcomponent configured to: obtain a training dataset comprising samplevehicle location points and traffic obstruction identification labels,wherein the traffic obstruction identification labels correspond totraffic obstructions configured to control a flow of traffic anddisposed at fixed locations along road segments; extract a set oftraining features from the training dataset based upon the samplevehicle location points, the set of training features indicative oftraffic flow patterns, the traffic flow patterns indicative of a flow oftraffic along a first set of one or more road segments; and train thetraffic obstruction identification model using the set of trainingfeatures and the traffic obstruction identification labels to create atrained traffic obstruction identification model for classifyinguncategorized traffic obstructions along a second set of one or moreroad segments different than the first set of one or more road segmentsinto one or more categories of traffic obstructions based upon trafficflow patterns of vehicles encountering the uncategorized trafficobstructions along the second set of one or more road segments.
 19. Thesystem of claim 18, wherein the traffic flow patterns indicated by theset of training features comprise at least one of: a stopping patternalong at least one road segment of the first set of one or more roadsegments, an acceleration pattern along the at least one road segment ofthe first set of one or more road segments, a speed pattern along the atleast one road segment of the first set of one or more road segments, ora length of a queued line of vehicles along the at least one roadsegment of the first set of one or more road segments.
 20. The system ofclaim 18, wherein training the traffic obstruction identification modelcomprises: training the traffic obstruction identification model usingthe set of training features and the traffic obstruction identificationlabels to create the trained traffic obstruction identification model toidentify a first traffic obstruction as being present on a first roadsegment of the second set of one or more road segments when a trafficflow pattern of the first road segment matches a traffic flow pattern ofa second road segment of the first set of one or more road segmentshaving the first traffic obstruction; and training the trafficobstruction identification model using the set of training features andthe traffic obstruction identification labels to create the trainedtraffic obstruction identification model to identify a second trafficobstruction as being present on the first road segment of the second setof one or more road segments when the traffic flow pattern of the firstroad segment matches a traffic flow pattern of a third road segment ofthe first set of one or more road segments having the second trafficobstruction.